package com.example.huadu_server.user.service;

import com.example.huadu_server.config.Response;
import com.example.huadu_server.user.dto.UpdateInfoDTO;
import com.example.huadu_server.user.dto.UserInfoDTO;
import com.example.huadu_server.user.entity.User;
import org.springframework.web.multipart.MultipartFile;

public interface UserService {
    /**
     * 判断指定用户是否处于正常状态
     *
     * @param userId 用户ID
     * @return true 表示用户处于正常状态；false 表示用户已被禁用
     */
    Response<Boolean> isUserEnabled(int userId);

    //修改密码
    Response<String> modifyPassword(int userId, String oldPassword, String newPassword, String confirmPassword);

    //忘记密码
    Response<String> sendForgetPasswordCode(String email);

    Response<String> resetPassword(String email, String code, String newPassword, String confirmPassword);

    //查看个人信息
    Response<User> getUserInfoById(int userId);

    // 修改用户信息
    Response<String> updateUserInfo(int userId, UpdateInfoDTO updateInfoDTO);

    //用户邮箱验证码
    Response<String> sendUpdateEmailCode(String email);

    // 修改用户邮箱
    Response<String> updateUserEmail(int userId, UserInfoDTO userInfoDTO);

    // 上传用户头像
    Response<String> uploadUserLogo(MultipartFile file, int userId);
}
